﻿using System;
using System.ComponentModel;
using DevExpress.Xpo;
using DevExpress.Data.Filtering;
using DevExpress.ExpressApp;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.BaseImpl;
using DevExpress.Persistent.Validation;
namespace Top.Module.Domain
{
    [DefaultClassOptions]
    public class TopPostage : BaseObject
    {
        //begin
        public TopPostage(Session session) : base(session)
        {}
        public override void AfterConstruction(){base.AfterConstruction();}

        private string _PostageId;
        [Size(SizeAttribute.Unlimited)]
        public string PostageId
        {
            get
            {
                return _PostageId;
            }
            set
            {
                SetPropertyValue("PostageId", ref _PostageId, value);
            }
        }
        private string _Name;
        [Size(SizeAttribute.Unlimited)]
        public string Name
        {
            get
            {
                return _Name;
            }
            set
            {
                SetPropertyValue("Name", ref _Name, value);
            }
        }
        private string _Memo;
        [Size(SizeAttribute.Unlimited)]
        public string Memo
        {
            get
            {
                return _Memo;
            }
            set
            {
                SetPropertyValue("Memo", ref _Memo, value);
            }
        }
        private DateTime _Created;
        public DateTime Created
        {
            get
            {
                return _Created;
            }
            set
            {
                SetPropertyValue("Created", ref _Created, value);
            }
        }
        private DateTime _Modified;
        public DateTime Modified
        {
            get
            {
                return _Modified;
            }
            set
            {
                SetPropertyValue("Modified", ref _Modified, value);
            }
        }
        private decimal _PostPrice;
        public decimal PostPrice
        {
            get
            {
                return _PostPrice;
            }
            set
            {
                SetPropertyValue("PostPrice", ref _PostPrice, value);
            }
        }
        private decimal _PostIncrease;
        public decimal PostIncrease
        {
            get
            {
                return _PostIncrease;
            }
            set
            {
                SetPropertyValue("PostIncrease", ref _PostIncrease, value);
            }
        }
        private decimal _ExpressPrice;
        public decimal ExpressPrice
        {
            get
            {
                return _ExpressPrice;
            }
            set
            {
                SetPropertyValue("ExpressPrice", ref _ExpressPrice, value);
            }
        }
        private decimal _ExpressIncrease;
        public decimal ExpressIncrease
        {
            get
            {
                return _ExpressIncrease;
            }
            set
            {
                SetPropertyValue("ExpressIncrease", ref _ExpressIncrease, value);
            }
        }
        private decimal _EmsPrice;
        public decimal EmsPrice
        {
            get
            {
                return _EmsPrice;
            }
            set
            {
                SetPropertyValue("EmsPrice", ref _EmsPrice, value);
            }
        }
        private decimal _EmsIncrease;
        public decimal EmsIncrease
        {
            get
            {
                return _EmsIncrease;
            }
            set
            {
                SetPropertyValue("EmsIncrease", ref _EmsIncrease, value);
            }
        }
        [Association("PostagePostageModes", typeof(TopPostageMode))]
        public XPCollection PostageModes
        {
            get
            {
                return GetCollection("PostageModes");
            }
        }
        //end
    }
}
